package com.wyz.mapper;


import com.wyz.entity.ClassTable;
import com.wyz.entity.Grades;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 班级表实体类功能接口
 */
@Mapper
public interface ClassTableDao {
    /**
     * 按年级进行班级查找
     * @param grades 年级对象
     * @return
     */
    public List<ClassTable> getGradeInfo(Grades grades);

    /**
     * 查看所有班级信息
     * @return
     */
    public List<ClassTable> getAllInfo();

    /**
     * 按开班时间范围查询班级
     * @param openDate 起始开班时间
     * @param closeDate 结尾开班时间
     * @return
     */
    public List<ClassTable> getDateInfo(@Param("openDate") String openDate, @Param("closeDate") String closeDate);

    /**
     * 查看单个班级对象,按班级名称或者班级编号进行查询，按班级状态进行查询
     * @param id 编号
     * @param name 名称
     * @return
     */
    public ClassTable getInfo(@Param("id") int id, @Param("name") String name, @Param("statue") int statue);

    /**
     * 想数据库插入一个新的班级
     * @param classTable
     * @return
     */
    public int addClass(ClassTable classTable);

    /**
     * 更新一个班级的信息
     * @return
     */
    public int update(ClassTable classTable);

    /**
     * 按班级编号进行删除某个班级【该方法一般不进行使用】
     * @param id
     * @return
     */
    public int delete(@Param("id") int id);
}
